home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d10 / pitstop.arc / PITSTOP.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1991-06-01  |  6.1 KB  |  180 lines

  1. 10  'Main Menu for PitStop America
  2. 15  'Version 1.1 developed by FutureWave Shareware
  3. 25  'Programmed by M. Broughton Boone
  4. 30  CLS: KEY OFF
  5. 100  'Opening Menu
  6. 110  CLS
  7. 112  LOCATE 3,15:PRINT"*****   ******  ******   ****   ******   ***    *****"
  8. 114  PRINT TAB(15);   "*    *    **      **    *    *    **    *   *   *    *"
  9. 116  PRINT TAB(15);   "*    *    **      **    *         **   *     *  *    *"
  10. 118  PRINT TAB(15);   "*****     **      **     ****     **   *     *  *****"
  11. 120  PRINT TAB(15);   "*         **      **         *    **   *     *  *"
  12. 122  PRINT TAB(15);   "*         **      **    *    *    **    *   *   *"
  13. 124  PRINT TAB(15);   "*       ******    **     ****     **     ***    *"
  14. 126  LOCATE 12,10:PRINT"   *     *       *  ******  *****   ******    ****      *"
  15. 128  PRINT TAB(10); "  * *    * *   * *  *       *    *    **     *    *    * *"
  16. 130  PRINT TAB(10); " *   *   *  * *  *  *       *    *    **    *         *   *"
  17. 132  PRINT TAB(10); " *****   *   *   *  *****   *****     **    *         *****"
  18. 134  PRINT TAB(10); "*     *  *       *  *       *    *    **    *        *     *"
  19. 136  PRINT TAB(10); "*     *  *       *  *       *    *    **     *    *  *     *"
  20. 138  PRINT TAB(10); "*     *  *       *  ******  *    *  ******    ****   *     *"
  21. 139  LOCATE 21,25: PRINT "VERSION 1.1 Release June 1991"
  22. 140  LOCATE 22,15: PRINT "Developed by FutureWave Shareware - Copyright 1991"
  23. 142  LOCATE 23,27: PRINT "Hit any key to continue"
  24. 144  IF INKEY$="" THEN 144
  25. 150  GOSUB 5000
  26. 200  'Main Menu
  27. 205  CLS
  28. 210  PRINT TAB(25);"PITSTOP AMERICA MAIN MENU"
  29. 215  LOCATE 5,15: PRINT "1) New Route - Erase all old data"
  30. 220  PRINT TAB(15);"2) View Route Information"
  31. 225  PRINT TAB(15);"3) Change Driving Data"
  32. 230  PRINT TAB(15);"4) Change Fuel Data"
  33. 235  PRINT TAB(15);"5) Begin Route"
  34. 240  PRINT TAB(15);"6) Print Route Information"
  35. 245  PRINT TAB(15);"7) Exit"
  36. 250  LOCATE 15,15: PRINT "Enter number of choice: "
  37. 255  A$ = INKEY$: IF A$ = "" THEN 255 ELSE 260
  38. 260  IF A$ = "1" THEN 500
  39. 265  IF A$ = "2" THEN 1000
  40. 270  IF A$ = "3" THEN 1500
  41. 275  IF A$ = "4" THEN 2000
  42. 280  IF A$ = "5" THEN 2500
  43. 285  IF A$ = "6" THEN 3000
  44. 290  IF A$ = "7" THEN END
  45. 295  GOTO 250
  46. 500  'New Route - erase all old data
  47. 505  'Erase Driving data
  48. 510  AS = 0: HD = 0: AT$ = "": AT = 0: MD = 0
  49. 515  OPEN "Driving.dat" FOR OUTPUT AS #1
  50. 520  WRITE #1,AS,HD,AT$,MD,AT
  51. 525  CLOSE #1
  52. 530  'Erase refueling data
  53. 535  TC = 0
  54. 540  MPG = 0
  55. 545  B$ = "":MT = 0
  56. 550  OPEN "Refuel.dat" FOR OUTPUT AS #1
  57. 555  WRITE #1,TC,MPG,B$,MT
  58. 560  CLOSE #1
  59. 565  'Erase Starting Point, Destination, and Route
  60. 995  GOTO 100
  61. 1000  'Load Old Route
  62. 1005  CLS
  63. 1010  LOCATE 15,15: PRINT "Please wait while information is compiled..."
  64. 1015  CHAIN "ShowInfo
  65. 1500  'Change Driving Data
  66. 1502  AS = 65: HD = 8
  67. 1505  CLS
  68. 1510  PRINT TAB(25);"Change Driving Data"
  69. 1515  LOCATE 5,10: PRINT "Current Data:"
  70. 1520  LOCATE 7,15: PRINT "1) Average Speed: ";AS
  71. 1525  PRINT TAB(15);"2) Hours Driven per Day: ";HD
  72. 1535  LOCATE 15,15: PRINT "Enter number to change, 4 to return to main menu"
  73. 1540  A$ = INKEY$: IF A$ = "" THEN 1540 ELSE 1545
  74. 1545  IF A$ = "1" THEN 1575
  75. 1550  IF A$ = "2" THEN 1600
  76. 1560  IF A$ = "4" THEN 1800
  77. 1575  'Change Average Speed
  78. 1580  LOCATE 23,10: INPUT "What is your average speed";AS
  79. 1585  LOCATE 23,10: PRINT "                                  "
  80. 1590  GOTO 1515
  81. 1600  'Change Hours Driven per Day
  82. 1605  LOCATE 23,10: INPUT "How many hours do you drive per day";HD
  83. 1610  LOCATE 23,10: PRINT "                                          "
  84. 1615  GOTO 1515
  85. 1625  AT$ = N
  86. 1650  GOTO 1515
  87. 1700  'Read in old data
  88. 1705  OPEN "i",#1,"Driving.dat"
  89. 1710  INPUT #1,AS,HD,AT$,MD,AT
  90. 1715  CLOSE #1
  91. 1720  RETURN
  92. 1800  'Save driving data
  93. 1802  GOSUB 1900
  94. 1805  OPEN "Driving.dat" FOR OUTPUT AS #1
  95. 1810  WRITE #1,AS,HD,AT$,MD,AT
  96. 1815  CLOSE #1
  97. 1820  GOTO 200
  98. 1900  'Calculate new variables
  99. 1912  'Miles per day
  100. 1915  MD = AS*HD
  101. 1917  'Adjust for time zones
  102. 1920  AT$ = LEFT$(AT$,1)
  103. 1925  IF AT$ = "Y" OR AT$ = "y" THEN AT = 1 ELSE AT = 0
  104. 1930  RETURN
  105. 2000  'Change Refueling Data
  106. 2002  TC = 10: MPG = 30: B$ = "N"
  107. 2005  CLS
  108. 2010  PRINT TAB(25);"Change Refueling Data"
  109. 2015  LOCATE 5,10: PRINT "Current Data:"
  110. 2020  LOCATE 7,15: PRINT "1) Tank Capacity: ";TC
  111. 2025  PRINT TAB(15);"2) Average MPG: ";MPG
  112. 2030  PRINT TAB(15);"3) Include 10% Buffer: ";B$
  113. 2035  LOCATE 15,15: PRINT "Enter number to change, 4 to return to main menu"
  114. 2040  A$ = INKEY$: IF A$ = "" THEN 2040 ELSE 2045
  115. 2045  IF A$ = "1" THEN 2075
  116. 2050  IF A$ = "2" THEN 2100
  117. 2055  IF A$ = "3" THEN 2125
  118. 2060  IF A$ = "4" THEN 2300
  119. 2075  'Change Tank Capacity
  120. 2080  LOCATE 23,10: INPUT "What is your tank capacity";TC
  121. 2085  LOCATE 23,10: PRINT "                                  "
  122. 2090  GOTO 2015
  123. 2100  'Change MPG
  124. 2105  LOCATE 23,10: INPUT "What is your car's average MPG";MPG
  125. 2110  LOCATE 23,10: PRINT "                                          "
  126. 2115  GOTO 2015
  127. 2125  'Change Add 10% Buffer
  128. 2130  LOCATE 22,10: PRINT "Note: This will subtract 10% from your distance on a tank of gas"
  129. 2135  LOCATE 23,10: INPUT "Add a 10% Buffer to Tank Capacity";B$
  130. 2140  LOCATE 22,10: PRINT "                                                                     "
  131. 2145  LOCATE 23,10: PRINT "                                         "
  132. 2150  GOTO 2015
  133. 2200  'Read in old data
  134. 2205  OPEN "i",#1,"Refuel.dat"
  135. 2210  INPUT #1,TC,MPG,B$,MT
  136. 2215  CLOSE #1
  137. 2220  RETURN
  138. 2300  'Save refueling data
  139. 2302  GOSUB 2400
  140. 2305  OPEN "Refuel.dat" FOR OUTPUT AS #1
  141. 2310  WRITE #1,TC,MPG,B$,MT
  142. 2315  CLOSE #1
  143. 2320  GOTO 200
  144. 2400  'Calculate new variables
  145. 2402  'Miles per tank
  146. 2404  B$ = LEFT$(B$,1)
  147. 2405  IF B$ = "Y" OR B$ = "y" THEN B = 0.1 ELSE B = 0
  148. 2410  MT = TC*MPG-((TC*MPG)*B)
  149. 2415  RETURN
  150. 2500  'Begin Route
  151. 2502  CLS
  152. 2505  IF AS = 0 OR TC = 0 THEN LOCATE 15,5: PRINT "You must first file driving and refueling information from main menu": A$ = INKEY$: IF A$ = "" THEN 2505 ELSE 200
  153. 2510  CLOSE
  154. 2515  LOCATE 15,15: PRINT "Please wait..."
  155. 2520  CHAIN "discity
  156. 3000  'Print Route Information
  157. 3005  CLS
  158. 3010  LOCATE 10,15: PRINT "Please wait while information is compiled..."
  159. 3020  CHAIN "prtinfo
  160. 5000  CLS
  161. 5005  LOCATE 2,5: PRINT "This is a ShareWare Program..."
  162. 5010  PRINT
  163. 5015  PRINT "If you like this program, please register it with the author.  SUPPORT SHAREWARE"
  164. 5020  PRINT "There are two options for registration.  One, if you find this program to be"
  165. 5025  PRINT "sufficient for your needs, send 10$ US for registration of your copy, which"
  166. 5030  PRINT "entitles you to the latest version of PitStop America, and the heartfelt thanks"
  167. 5035  PRINT "and respect of the author.  The second option is to send 25$ to the author, for"
  168. 5040  PRINT "which you will receive the full PitStop America program, which offers over 2000"
  169. 5045  PRINT "cities to start/stop in, and supports all US Highways as well as interstates, &"
  170. 5050  PRINT "you will receive the heartfelt thanks and respect of the author.  With either"
  171. 5055  PRINT "option, you will get a price break on future versions/upgrades and any documen-"
  172. 5060  PRINT "tation which the program might require.  (Registered versions also get rid of"
  173. 5062  PRINT "this annoying screen.)"
  174. 5065  LOCATE 17,25: PRINT "M. Broughton Boone"
  175. 5070  PRINT TAB(25); "PO Box 253"
  176. 5075  PRINT TAB(25); "Bayview, ID 83803"
  177. 5080  LOCATE 23,20: PRINT "Hit any key to continue..."
  178. 5085  IF INKEY$ = "" THEN 5085
  179. 5090  RETURN
  180.